在這篇中,我們要來看 Effect 中的兩種錯誤類型:預期的錯誤 Expected Error 與非預期的錯誤 Unexpected Error ,另外看在 E...
前言 不知道大家平常開發的時候,有沒有遇過這種狀況?一個看似正常的函式,當你試圖幫它撰寫單元測試時,卻發現需要模擬 API 資料、偽造 DOM、處理全域狀態....
還記得之前我們建立 Effect 時還有分 sync 跟 promise 的嗎?另外還有提到 Effect 像是藍圖,設計好程式的流程後我們才開始執行,這篇裡我...
前言 在上一篇文章中,有提到純函數 (Pure Function) 的優點是可預測、易於測試、可推理,雖然實際應用中無法將全部程式碼轉為純函數,但我們可以盡可...
在前一篇講了那麼多怎麼建立 Effect 跟如何執行,總覺得好像少了什麼東西,條件判斷的 if 還有像迴圈的 for 這些東西跑到哪邊去了,其實很簡單的,這邊想...
前言 在上篇文章中,我們學會將程式碼分為 Actions、Calculations 與 Data 三類,並理解到 Calculations 是我們程式中穩定、...
我們終於要來建立 Effect 了,但… 其實建立 Effect 有非常多的方法,執行 Effect 雖然少一點,但也不只一種,我就介紹幾個比較常用的 使用立即...
前言:Actions、Calculations 與 Data 在上篇文章有提到,FP 的重點是要管理因副作用而產生的程式碼複雜性,而要如何管理副作用造成的意外...
在開始前,我們先來看一個範例,關於以下的 function 你覺得可能有幾個地方可能發生錯誤呢? function fetchItemDetail(id: nu...
前言 「函數式程式設計 (Functional Programming,簡稱 FP)」這個名詞應該大部分人都聽過,通常會看到類似這樣的定義:「FP 是一種使用...
在第一篇我們說到會介紹一點 functional programming (FP) ,不過不用太緊張,我們不會很深入 FP 的概念,我想應該有不少人,看了一些...
嗨大家好!我是 Monica,第一天一樣來講講系列文動機與大綱,談談未來的內容規劃。 關於分享主題 再次嘗試鐵人賽,這次的主題其實之前就想寫了,覺得 Func...
雖然函數式程式設計一直強調純函數(Pure Function),不要有Side Effect;但是一個系統程式,不太可能不和使用者、資料庫、終端機…等真實世界接...
終於到了 FP 的第四篇了,本篇是 FP 的最後一篇,要來談一些 FP 的進階議題: 函數式編程慣用法 FP 與程式碼復用 (code reuse) 函數式...
Effect 是近一兩年興起的一套 TypeScript 的函式庫,可以幫助我們打造更加強韌的應用程式,目前我已經使用 Effect 這個套件一年多了,這段時間...
在前一篇談到了函數式編程的概念與實作分離的觀點,那實作上有什麼 FP 的機制 (mechanism) 是我們在一般的編程可以使用的呢?不論是 Neovim 插件...
很多學習 FP 的初學者,接觸 FP 不久,就產生了兩個很大的疑問: 我會用 map, filter, reduce 了,那我算是會 FP 了嗎? FP 的...
一般而言,在業界主張要使用函數式編程 (FP) 的理由主要有兩個: 開發速度快。 減少 bug 。 另一方面,反對使用函數式編程的理由主要也有兩個: 懂這...
Emacs 是一台 Lisp 機器,但偽裝成文字編輯器。 (Emacs 社群諺語) 身為一位 Clojure Programmer,我一直有個遺憾:Cloj...
緣起 在學習網頁開發前端的框架React和Vue的過程中,常常遇到函數式程式設計(Functional Programming)相關的術語,例如Pure fu...
愛不是束縛而是解放 看這段代碼: function getFullName(user) { return `${user.firstName} ${user...
架構設計 在昨天的文章中,我們探討了如何創建動態效果,雖然過程中省略了一些細節,但這為我們打下了良好的基礎。今天,我們將逐步補充那些細節,根據昨天的討論,目前的...
1.基本結構 動畫管理員的核心是 managerMaker 函數,負責建立物件並初始化必要的屬性和方法。它包含了管理動畫請求的基本邏輯和資料結構。以下是管理員的...
前言 上一篇介紹函數式程式設計(Functional Programming)的概念,這次再進一步應用它及抽象語法樹(Abstract Syntax Tree,...
前言 函數式程式設計(Functional Programming)是一種設計模式(Design pattern),主程式能夠將函數當作參數,進行傳遞(輸出/輸...
前言 撰寫Python程式很簡單,因為Python的發明人Guido van Rossum希望撰寫Python程式可以像英文寫作一樣自然,不需要作變數型別宣告、...
本屆 #JCConf 邀請到 Uberto Barbini 分享「Functional Programming IO Demystified: Understa...
終於寫到最後一天了,今天就輕鬆一點吧xD。 首先感謝所有讀者,在開賽前就有心理準備這個題材本來就是屬於比較冷門領域所以應該沒什麼人關注,本來以為可能完全沒有回饋...
State Monad 可能有讀者看到 state monad 這個名字時可能會想,Haskell 這樣的語言允許我們擁有 state 這種感覺應該是 muta...
Writer Monad 不知道讀者有沒有想過,如果今天我想要把每一步 monadic 操作的過程都有 log 紀錄方便我們 debug 的話要怎麼做?(用 p...